\begin{picture}(20000,12000)(0,6000) \drawline\photon[\E\REG](4000,0)[7] % Left half of long photon. \drawline\fermion[\NW\REG](\photonfrontx,\photonfronty)[4000] \drawline\fermion[\SW\REG](\photonfrontx,\photonfronty)[4000] \drawvertex\photon[\E 3](\photonbackx,\photonbacky)[7] % Continue long photon. \drawline\fermion[\S\REG](\vertextwox,\vertextwoy)[\vertextwoy] % Upper half \drawline\fermion[\N\REG](\vertexthreex,\vertexthreey)[\vertextwoy] % Lower half \drawline\fermion[\NE\REG](\vertextwox,\vertextwoy)[\vertextwoy] \drawline\fermion[\SE\REG](\vertexthreex,\vertexthreey)[\vertextwoy] \end{picture}Since we've slyly selected the main axis to have zero ordinate (y=0) that we can use vertextwoy as a length in order to ensure that the diagonal fermion segments on the right have half of the length of the vertical segment. The vertical fermion is drawn in two sections.
In order to draw a scalar in place of the fermion line on the right we must set seglength and gaplength so that the vertical line will connect properly with the photons. The section on spacing in chapter four shows how to do this using the phantom commands. Here we could just divide the line length by an integer. For instance the commands
\global\divide \vertextwoy by 4 \global\gaplength=\vertextwoy \global\multiply\vertextwoy by 2 \global\seglength=\vertextwoy \drawline\scalar[\S\REG](\vertextwox,\vertextwoy)[3]would draw a vertical connecting scalar with three segments.